فرمت های نمایش تاریخ در JavaScript

با کمک 4 متد زیر می توانیم تاریخ را با فرمت های مختلف نمایش دهیم. 

now

now.toString()

now.toDateString()
now.toUTCString()
now.toISOString()

با توجه به جدول بالا:

  • متد toString تاریخ را به صورت یک رشته کامل شامل تاریخ بلند و زمان و موقعیت زمانی مرورگر نمایش می دهد.
  • متد toDateString تاریخ را به صورت یک رشته شامل تاریخ بلند، بدون زمان و بدون موقعیت زمانی نمایش می دهد.
  • متد toUTCString تاریخ را به صورت یک رشته شامل تاریخ بلند، زمان و بر اساس موقعیت زمانی GMT نمایش می دهد.
  • متد toISOString تاریخ را به صورت یک رشته شامل تاریخ کوتاه، زمان و موقعیت زمانی GMT نمایش می دهد.

نکته: معمولا از تاریخ iso یا مهر زمانی برای ذخیره تاریخ در پایگاه داده استفاده می شود.

نکته: همانطور که در جدول بالا دیدید زمان در هر 3 حالت به صورت مشابه نمایش داده می شود و تفاوت در نمایش تاریخ است. در ادامه به بررسی تفاوت تاریخ می پردازیم.

در کل سه نوع فرمت تاریخ در جاوا اسکریپت وجود دارد.

نوع مثال
تاریخ ISO  با عدد و - (استاندارد بین المللی) 2024-12-02
تاریخ کوتاه (short date) با عدد و / 2024/12/02
تاریخ بلند (long date) بدون عدد "Dec 02 2024" یا "02 Dec 2024"

نکته: فرمت ISO، یک استاندارد سختگیرانه را در جاوا اسکریپت دنبال می‌ کند. 

نکته: فرمت های دیگر چندان خوب تعریف نشده اند و ممکن است مختص مرورگر باشند.

تاریخ ISO در JS

ISO 8601، استاندارد بین‌ المللی برای نمایش تاریخ و زمان‌ است.

نگارش ISO 8601 به صورت YYYY-MM-DD نوشته می شود.

const d = new Date("2024-12-02");

نکته: تاریخ محاسبه شده، نسبت به منطقه زمانی مرورگر خواهد بود.

نکته: بسته به منطقه زمانی شما، نتیجه بالا بین 1 دسامبر تا 2 دسامبر متفاوت خواهد بود.

تاریخ‌ ISO سال و ماه در JS

تاریخ‌ های ISO می‌ توانند بدون مشخص کردن روز نوشته شوند (YYYY-MM):

const d = new Date("2024-12"); 

نکته: بسته به منطقه زمانی شما، نتیجه بالا بین 28 نوامبر تا 1 دسابمر متفاوت خواهد بود.

تاریخ‌ ISO سال در JS

تاریخ‌های ISO می‌ توانند بدون ماه و روز (YYYY) نوشته شوند:

const d = new Date("2024");

نکته: مناطق زمانی نتیجه بالا، بین 31 دسامبر 2023 و 01 ژانویه 2024 متفاوت خواهد بود.

تاریخ‌ ISO به همراه زمان در JS

تاریخ‌ ISO می‌ تواند با ساعت، دقیقه و ثانیه نوشته شود (YYYY-MM-DDTHH:MM:SSZ):

const d = new Date("2024-12-04T08:30:00Z");

در استاندارد ISO:

  • تاریخ و زمان با یک T بزرگ جدا می‌ شود.
  • حرف Z بزرگ بعد از زمان نشان دهنده موقعیت زمانی UTC است.

برای تغییر موقعیت زمانی می توانیم به جای حرف Z با مقدار +HH:MM یا -HH:MM، زمان را نسبت به UTC تغییر دهیم.

const d = new Date("2024-12-04T06:30:00+03:30");

نکته: UTC (زمان هماهنگ جهانی) همان GMT (زمان گرینویچ) است.

نکته: زمان ایران برابر زمان گرینویچ + 03:30 است. (GMT+03:30)

نکته: حذف T یا Z در رشته تاریخ-زمان می تواند نتایج متفاوتی در مرورگرهای مختلف به همراه داشته باشد. 

نکته: هنگام دریافت تاریخ، بدون تعیین منطقه زمانی، نتیجه با منطقه زمانی مرورگر هماهنگ می‌ شود.

هشدار‌!

const d = new Date("2024-12-4");
const d = new Date("2024/12/04");

تبدیل رشته تاریخ به مهر زمانی

با متد ()Date.parse می توانیم رشته تاریخ را به مهر زمانی تبدیل کنیم.

const timestamp = Date.parse("Decamber 04, 2024");

سپس می توانیم از تعداد میلی ثانیه برای تبدیل آن به یک شیء تاریخ استفاده کنیم:

const timestamp = Date.parse("Decamber 04, 2024");
const d = new Date(timestamp);
توسعه دهندگان
احسان اسلامی